package br.com.portadelivery.app.webservices;

import java.util.ArrayList;
import java.util.List;

import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonParser;

import br.com.portadelivery.app.interfaces.IRestful;
import br.com.portadelivery.app.model.Produto;
import br.com.portadelivery.app.utils.Constants;

public class ProdutoREST implements IRestful{
	
	private String[] retorno;
	private String StringJSON;
	private String WSURL = Constants.WS_URL+"produto/";
	Produto dataset = new Produto();
	
	public String inserir(Produto produto) throws Exception{
		Gson gson = new Gson();
		StringJSON = gson.toJson(produto);
		retorno = new WebServiceCliente().post(WSURL, StringJSON);
		if(retorno[0].equals("200")){
			return retorno[1];
		}else{
			throw new Exception(retorno[1]);
		}
	}
	public List<Produto> getProdutos() throws Exception{
		retorno = new WebServiceCliente().get(WSURL);
		if(retorno[0].equals("200")){
			Gson gson = new Gson();
			ArrayList<Produto> lista = new ArrayList<Produto>();
			JsonParser parser = new JsonParser();
			JsonArray array = parser.parse(retorno[1]).getAsJsonArray();
			for(int i=0; i < array.size(); i++){
				lista.add(gson.fromJson(array.get(i), Produto.class));
				}
			return lista;
		}else{
			throw new Exception(retorno[1]);
		}
	}
}
